The present invention relates to Integrated Circuit (IC) layouts. More particularly, the present invention relates to bi-directional communication between an IC layout editor and various generic layout and/or pattern data viewers.
An IC layout, also known as IC mask layout, represents an IC in terms of planar geometric shapes. These planar geometric shapes correspond to the shapes actually drawn on photo masks used in semiconductor device fabrication. The IC layout may be created by automatic Electronic Development Automation (EDA) tools. By way of example, EDA tools may include place and route tools and schematically driven layout tools. The IC layout can also be created and edited manually by an IC designer. By way of example, the IC designer can create and edit the IC layout by means of an IC layout editor.
The IC layout results in the representation of the IC in various IC mask layout data formats. By way of example, the IC mask layout data formats can be stored in a GDSII database format, a MEBES database format, or an OASIS database format. These IC mask layout data formats involve a binary format for the representation of planar geometric shapes, text labels, and other information in a hierarchical manner. Further, the IC layout editor involves final physical implementation of an IC design that is controlled through human modification. The IC layout editor generates a database, referred to as a layout database that forms a baseline of the IC design. The implementations of the IC design that are in the IC mask layout data format are compared with the baseline.
Further, the IC design flow for the various IC mask layout data formats implies the need to work with different IC mask layout data formats during failure analysis and verification of the IC design. By way of example, while ascertaining the root cause of a production failure, data from each stage of the IC design flow must be compared to the baseline for determining the cause of the failure.
Several conventional methods have been used for comparing the data in IC mask layout data formats with the baseline. One such method involves converting the data in the IC mask layout data formats back into the original IC layout database and subsequently, viewing the converted data through distinct editors. Since equipment formats (input data formats proprietary to the machines that are used to realize an IC layout and to which the IC layout must be converted during the mask or wafer manufacturing process) are often flat while the layout databases are generally hierarchical, conversion of a flat database to a hierarchical database tends to overwhelm the layout editor. The layout editor is generally not tuned for handling these flat databases.
Such a conversion can also result in information loss since the capabilities of different layout databases may be different from the storage capabilities of the equipment formats and the transport formats (any design format used to transport or transfer a design representation between two places, tools, or people—an equipment format or a layout format can serve as a transport format). Examples include but are not limited to stripe and segment boundaries, address unit snapping, field polarity for machine formats as well as circle approximations, and trapezoid representations for the IC mask layout data formats. As a result, these incompatibilities lead to information loss. Further, this information loss could result in incorrect representation of the IC design. Moreover, the information loss may impair a user's ability to efficiently inspect the data in comparison with a tool that can display the transport or equipment formats. Therefore, conversion of the data back to the original layout database involves information loss and requires more data storage capacity, and impedes the capability to make valid comparisons.
An attempt to address this problem of information loss and requirement of more data storage capacity has been made. This attempt involves viewing the layout database in the layout editor and examining alternate representations in general-purpose viewers. These general-purpose viewers can be various generic pattern data viewers. These various generic pattern data viewers are free from the information loss problems of conversion and do not require more data storage capacity. However, the actions performed in one program are not reflected by the other programs. By way of example, panning and zooming in one program does not cause pan and zoom in the other programs. As a result, the user needs to manually synchronize the viewing windows of the programs. Further, when comparing specific details about each database, the operations used to extract the information must also be repeated for each of the programs. By way of example, IC measurements and object property queries must be performed separately in the layout editor and each of the separate pattern viewers. Furthermore, either one user must learn how to use the various programs or separate users, each skilled to use one program, need to collaborate in order to view the IC design in multiple representations.
In light of the foregoing discussion, a need exists for a method and system that provides a communication link between the IC layout editor and the generic layout and/or pattern data viewers. The present invention addresses such a need.